package com.zxy.ziems.server.energy.service;

import com.zxy.btp.common.response.JsonResponse;
import com.zxy.btp.common.response.PageResult;
import com.zxy.ziems.server.board.pojo.vo.DosageVo;
import com.zxy.ziems.server.energy.pojo.dto.DeviceDataTypeDTO;
import com.zxy.ziems.server.energy.pojo.entity.DeviceMeasureDataDayEntity;
import com.zxy.ziems.server.energy.pojo.param.DeviceMeasureDataDay;
import com.zxy.ziems.server.energy.pojo.param.DeviceMeasureDataDayPageParam;
import com.zxy.ziems.server.energy.pojo.vo.DeviceMeasureDataDayVO;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Set;

public interface DeviceMeasureDataDayService {

    List<DeviceDataTypeDTO> getDeviceDataTypeSum(String dateType, LocalDate startDate, LocalDate endDate, Set<String> deviceIdSet);

    /**
     * 按天进行汇总统计
     * @param classifyIds 分类ID集
     * @param dataTypeId
     * @param startDate
     * @param endDate
     * @return
     */
    List<DosageVo> sumByDateTypeAndClassifyIds(List<String> classifyIds, String dataTypeId, LocalDate startDate,LocalDate endDate, String dateFormat);


    /**
     * 临时处理3月7~10号日级别异常数据接口
     * 根据dataTemp表临时处理天数据
     */
    void dataProcessing();

    void dataProcessingTemp(String date);

    void modifyDayData(String date);


    PageResult<DeviceMeasureDataDayVO> getPageList(DeviceMeasureDataDayPageParam param);


    boolean  updateMeasureDayData(DeviceMeasureDataDay data);

}

